A Framework for Cut-Off Incremental Recompilation and Inter-Module Optimization
نویسنده
چکیده
In this paper we present a cut-off incremental recompilation framework that supports inter-module optimization. The framework allows arbitrary compile time information to propagate across program unit boundaries, in such a way that it can be determined if compilation assumptions have changed since the program unit was last compiled. The abstract presentation of the framework makes explicit the assumptions of the approach and specifies exactly the set of operations necessary for each of the translation phases in a compiler (from parsing to abstract syntax, through a series of intermediate languages, and eventually down to machine code). The correctness results shown are non-trivial due to the flexibility of the framework, which allows even open terms (objects containing free occurrences of names) to propagate across program unit boundaries at compile time. The framework is based on a language for programming in the very large, which allows for expressing precise program unit dependencies. Moreover, framework is batch-based in the sense that only one source file is compiled for each invocation of the compiler. The scheme is applied in the MLKit Standard ML compiler and experiments show that the approach is feasible and that it scales to very large programs and day-to-day program development for programs consisting of more than 250.000 lines of Standard ML.
منابع مشابه
Cut-off Grade Optimization for Maximizing the Output Rate
In the open-pit mining, one of the first decisions that must be made in production planning stage, after completing the design of final pit limits, is determining of the processing plant cut-off grade. Since this grade has an essential effect on operations, choosing the optimum cut-off grade is of considerable importance. Different goals may be used for determining optimum cut-off grade. One of...
متن کاملComparison of golden section search method and imperialist competitive algorithm for optimization cut-off grade- case study: Mine No. 1 of Golgohar
Optimization of the exploitation operation is one of the most important issues facing the mining engineers. Since several technical and economic parameters depend on the cut-off grade, optimization of this parameter is of particular importance. The aim of this optimization is to maximize the net present value (NPV). Since the objective function of this problem is non-linear, three methods can b...
متن کاملSmart Recompilation in Glasgow Haskell
This paper describes the system of interface files and recompilation checking in the Glasgow Haskell 1.3 Compiler. In developing this system our aim is to provide a separate compilation system which avoids unnecessary recompilation while performing significant inter-module optimisations. We associate a version number (based on the current timestamp) with each declaration and record the versions...
متن کاملTrue Separate Compilation for SML]
In current days, separate compilation plays a very important role in the practical program development. As the name “separate compilation” indicates, it allows that the program is split into several source files. Each of them is self-contained in the sense it describes the import signature which are assumed to be provided by other code fragment and its own export declarations. Each unit can be ...
متن کاملOptimal High Frequency Cut-off in SWAN Wave Model
This study investigates the importance of selecting an appropriate cut-off frequency in the SWAN model when it is applied to areas with limited fetches. In SWAN, the cut-off frequency is a constant value set by user in the model, and its appropriate selection plays an important role in the accuracy and optimization of the wave model; very high value increases the computational cost and might le...
متن کامل